
package com.dxg.msns.music.service;

import com.dxg.msns.music.pojo.Music;
import com.dxg.msns.music.pojo.MusicType;
import com.dxg.msns.music.pojo.MusicVo;
import com.dxg.msns.music.pojo.Playlist;
import org.apache.ibatis.annotations.Param;

import java.util.List;
public interface PlaylistService {
    List<Playlist> recommendPlaylist();


    double calculatePlaylistAvgGrade(String playlistId);

    // 添加新歌单
    void createPlaylist(Playlist playlist);

    // 根据ID查询歌单
    Playlist getPlaylistById(String id);
    // 根据ID查询歌单
    List<Playlist> getPlaylistByUserId(String id);
    // 查询所有歌单
    List<Playlist> getAllPlaylists();

    // 更新歌单信息
    void updatePlaylist(Playlist playlist);

    // 删除歌单（包括歌曲关联）
    void deletePlaylistById(String id);

    // 向歌单添加歌曲
    void addMusicToPlaylist(String playlistId, String musicId);

    // 从歌单移除歌曲
    void removeMusicFromPlaylist(String playlistId, String musicId);

    // 查询歌单中的所有歌曲ID
    List<String> getMusicIdsByPlaylistId(String playlistId);

    //查询歌单中的所有歌曲list
    List<MusicVo> getMusicByPlaylistId(String playlistId,String userId);

    List<Music> getMusicByPlaylistIdAdmin(String playlistId);
}
